package com.zj.fx.model.rpa;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import cn.hutool.core.util.StrUtil;

/**
 * rpa任务执行明细 RpaTaskDtlExample
 *
 * @author SQL_自动生成
 * @date 2023-11-23 09:27:29
 */
public class RpaTaskDtlExample {

    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public RpaTaskDtlExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }


        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }


        public Criteria andRpataskidIsNull() {
            addCriterion("rpataskid is null");
            return (Criteria) this;
        }

        public Criteria andRpataskidIsNotNull() {
            addCriterion("rpataskid is not null");
            return (Criteria) this;
        }

        public Criteria andRpataskidEqualTo(String value) {
            addCriterion("rpataskid =", value, "rpataskid");
            return (Criteria) this;
        }

        public Criteria andRpataskidNotEqualTo(String value) {
            addCriterion("rpataskid <>", value, "rpataskid");
            return (Criteria) this;
        }

        public Criteria andRpataskidGreaterThan(String value) {
            addCriterion("rpataskid >", value, "rpataskid");
            return (Criteria) this;
        }

        public Criteria andRpataskidGreaterThanOrEqualTo(String value) {
            addCriterion("rpataskid >=", value, "rpataskid");
            return (Criteria) this;
        }

        public Criteria andRpataskidLessThan(String value) {
            addCriterion("rpataskid <", value, "rpataskid");
            return (Criteria) this;
        }

        public Criteria andRpataskidLessThanOrEqualTo(String value) {
            addCriterion("rpataskid <=", value, "rpataskid");
            return (Criteria) this;
        }

        public Criteria andRpataskidLike(String value) {
            addCriterion("rpataskid like", value, "rpataskid");
            return (Criteria) this;
        }

        public Criteria andRpataskidNotLike(String value) {
            addCriterion("rpataskid not like", value, "rpataskid");
            return (Criteria) this;
        }

        public Criteria andRpataskidIn(List<String> values) {
            addCriterion("rpataskid in", values, "rpataskid");
            return (Criteria) this;
        }

        public Criteria andRpataskidNotIn(List<String> values) {
            addCriterion("rpataskid not in", values, "rpataskid");
            return (Criteria) this;
        }

        public Criteria andRpataskidBetween(String value1, String value2) {
            addCriterion("rpataskid between", value1, value2, "rpataskid");
            return (Criteria) this;
        }

        public Criteria andRpataskidNotBetween(String value1, String value2) {
            addCriterion("rpataskid not between", value1, value2, "rpataskid");
            return (Criteria) this;
        }


        public Criteria andRpatasknameIsNull() {
            addCriterion("rpataskname is null");
            return (Criteria) this;
        }

        public Criteria andRpatasknameIsNotNull() {
            addCriterion("rpataskname is not null");
            return (Criteria) this;
        }

        public Criteria andRpatasknameEqualTo(String value) {
            addCriterion("rpataskname =", value, "rpataskname");
            return (Criteria) this;
        }

        public Criteria andRpatasknameNotEqualTo(String value) {
            addCriterion("rpataskname <>", value, "rpataskname");
            return (Criteria) this;
        }

        public Criteria andRpatasknameGreaterThan(String value) {
            addCriterion("rpataskname >", value, "rpataskname");
            return (Criteria) this;
        }

        public Criteria andRpatasknameGreaterThanOrEqualTo(String value) {
            addCriterion("rpataskname >=", value, "rpataskname");
            return (Criteria) this;
        }

        public Criteria andRpatasknameLessThan(String value) {
            addCriterion("rpataskname <", value, "rpataskname");
            return (Criteria) this;
        }

        public Criteria andRpatasknameLessThanOrEqualTo(String value) {
            addCriterion("rpataskname <=", value, "rpataskname");
            return (Criteria) this;
        }

        public Criteria andRpatasknameLike(String value) {
            addCriterion("rpataskname like", value, "rpataskname");
            return (Criteria) this;
        }

        public Criteria andRpatasknameNotLike(String value) {
            addCriterion("rpataskname not like", value, "rpataskname");
            return (Criteria) this;
        }

        public Criteria andRpatasknameIn(List<String> values) {
            addCriterion("rpataskname in", values, "rpataskname");
            return (Criteria) this;
        }

        public Criteria andRpatasknameNotIn(List<String> values) {
            addCriterion("rpataskname not in", values, "rpataskname");
            return (Criteria) this;
        }

        public Criteria andRpatasknameBetween(String value1, String value2) {
            addCriterion("rpataskname between", value1, value2, "rpataskname");
            return (Criteria) this;
        }

        public Criteria andRpatasknameNotBetween(String value1, String value2) {
            addCriterion("rpataskname not between", value1, value2, "rpataskname");
            return (Criteria) this;
        }


        public Criteria andTargetidIsNull() {
            addCriterion("targetid is null");
            return (Criteria) this;
        }

        public Criteria andTargetidIsNotNull() {
            addCriterion("targetid is not null");
            return (Criteria) this;
        }

        public Criteria andTargetidEqualTo(String value) {
            addCriterion("targetid =", value, "targetid");
            return (Criteria) this;
        }

        public Criteria andTargetidNotEqualTo(String value) {
            addCriterion("targetid <>", value, "targetid");
            return (Criteria) this;
        }

        public Criteria andTargetidGreaterThan(String value) {
            addCriterion("targetid >", value, "targetid");
            return (Criteria) this;
        }

        public Criteria andTargetidGreaterThanOrEqualTo(String value) {
            addCriterion("targetid >=", value, "targetid");
            return (Criteria) this;
        }

        public Criteria andTargetidLessThan(String value) {
            addCriterion("targetid <", value, "targetid");
            return (Criteria) this;
        }

        public Criteria andTargetidLessThanOrEqualTo(String value) {
            addCriterion("targetid <=", value, "targetid");
            return (Criteria) this;
        }

        public Criteria andTargetidLike(String value) {
            addCriterion("targetid like", value, "targetid");
            return (Criteria) this;
        }

        public Criteria andTargetidNotLike(String value) {
            addCriterion("targetid not like", value, "targetid");
            return (Criteria) this;
        }

        public Criteria andTargetidIn(List<String> values) {
            addCriterion("targetid in", values, "targetid");
            return (Criteria) this;
        }

        public Criteria andTargetidNotIn(List<String> values) {
            addCriterion("targetid not in", values, "targetid");
            return (Criteria) this;
        }

        public Criteria andTargetidBetween(String value1, String value2) {
            addCriterion("targetid between", value1, value2, "targetid");
            return (Criteria) this;
        }

        public Criteria andTargetidNotBetween(String value1, String value2) {
            addCriterion("targetid not between", value1, value2, "targetid");
            return (Criteria) this;
        }


        public Criteria andTypenumIsNull() {
            addCriterion("typenum is null");
            return (Criteria) this;
        }

        public Criteria andTypenumIsNotNull() {
            addCriterion("typenum is not null");
            return (Criteria) this;
        }

        public Criteria andTypenumEqualTo(String value) {
            addCriterion("typenum =", value, "typenum");
            return (Criteria) this;
        }

        public Criteria andTypenumNotEqualTo(String value) {
            addCriterion("typenum <>", value, "typenum");
            return (Criteria) this;
        }

        public Criteria andTypenumGreaterThan(String value) {
            addCriterion("typenum >", value, "typenum");
            return (Criteria) this;
        }

        public Criteria andTypenumGreaterThanOrEqualTo(String value) {
            addCriterion("typenum >=", value, "typenum");
            return (Criteria) this;
        }

        public Criteria andTypenumLessThan(String value) {
            addCriterion("typenum <", value, "typenum");
            return (Criteria) this;
        }

        public Criteria andTypenumLessThanOrEqualTo(String value) {
            addCriterion("typenum <=", value, "typenum");
            return (Criteria) this;
        }

        public Criteria andTypenumLike(String value) {
            addCriterion("typenum like", value, "typenum");
            return (Criteria) this;
        }

        public Criteria andTypenumNotLike(String value) {
            addCriterion("typenum not like", value, "typenum");
            return (Criteria) this;
        }

        public Criteria andTypenumIn(List<String> values) {
            addCriterion("typenum in", values, "typenum");
            return (Criteria) this;
        }

        public Criteria andTypenumNotIn(List<String> values) {
            addCriterion("typenum not in", values, "typenum");
            return (Criteria) this;
        }

        public Criteria andTypenumBetween(String value1, String value2) {
            addCriterion("typenum between", value1, value2, "typenum");
            return (Criteria) this;
        }

        public Criteria andTypenumNotBetween(String value1, String value2) {
            addCriterion("typenum not between", value1, value2, "typenum");
            return (Criteria) this;
        }


        public Criteria andPeriodtypeIsNull() {
            addCriterion("periodtype is null");
            return (Criteria) this;
        }

        public Criteria andPeriodtypeIsNotNull() {
            addCriterion("periodtype is not null");
            return (Criteria) this;
        }

        public Criteria andPeriodtypeEqualTo(String value) {
            addCriterion("periodtype =", value, "periodtype");
            return (Criteria) this;
        }

        public Criteria andPeriodtypeNotEqualTo(String value) {
            addCriterion("periodtype <>", value, "periodtype");
            return (Criteria) this;
        }

        public Criteria andPeriodtypeGreaterThan(String value) {
            addCriterion("periodtype >", value, "periodtype");
            return (Criteria) this;
        }

        public Criteria andPeriodtypeGreaterThanOrEqualTo(String value) {
            addCriterion("periodtype >=", value, "periodtype");
            return (Criteria) this;
        }

        public Criteria andPeriodtypeLessThan(String value) {
            addCriterion("periodtype <", value, "periodtype");
            return (Criteria) this;
        }

        public Criteria andPeriodtypeLessThanOrEqualTo(String value) {
            addCriterion("periodtype <=", value, "periodtype");
            return (Criteria) this;
        }

        public Criteria andPeriodtypeLike(String value) {
            addCriterion("periodtype like", value, "periodtype");
            return (Criteria) this;
        }

        public Criteria andPeriodtypeNotLike(String value) {
            addCriterion("periodtype not like", value, "periodtype");
            return (Criteria) this;
        }

        public Criteria andPeriodtypeIn(List<String> values) {
            addCriterion("periodtype in", values, "periodtype");
            return (Criteria) this;
        }

        public Criteria andPeriodtypeNotIn(List<String> values) {
            addCriterion("periodtype not in", values, "periodtype");
            return (Criteria) this;
        }

        public Criteria andPeriodtypeBetween(String value1, String value2) {
            addCriterion("periodtype between", value1, value2, "periodtype");
            return (Criteria) this;
        }

        public Criteria andPeriodtypeNotBetween(String value1, String value2) {
            addCriterion("periodtype not between", value1, value2, "periodtype");
            return (Criteria) this;
        }


        public Criteria andTaskmonthIsNull() {
            addCriterion("taskmonth is null");
            return (Criteria) this;
        }

        public Criteria andTaskmonthIsNotNull() {
            addCriterion("taskmonth is not null");
            return (Criteria) this;
        }

        public Criteria andTaskmonthEqualTo(String value) {
            addCriterion("taskmonth =", value, "taskmonth");
            return (Criteria) this;
        }

        public Criteria andTaskmonthNotEqualTo(String value) {
            addCriterion("taskmonth <>", value, "taskmonth");
            return (Criteria) this;
        }

        public Criteria andTaskmonthGreaterThan(String value) {
            addCriterion("taskmonth >", value, "taskmonth");
            return (Criteria) this;
        }

        public Criteria andTaskmonthGreaterThanOrEqualTo(String value) {
            addCriterion("taskmonth >=", value, "taskmonth");
            return (Criteria) this;
        }

        public Criteria andTaskmonthLessThan(String value) {
            addCriterion("taskmonth <", value, "taskmonth");
            return (Criteria) this;
        }

        public Criteria andTaskmonthLessThanOrEqualTo(String value) {
            addCriterion("taskmonth <=", value, "taskmonth");
            return (Criteria) this;
        }

        public Criteria andTaskmonthLike(String value) {
            addCriterion("taskmonth like", value, "taskmonth");
            return (Criteria) this;
        }

        public Criteria andTaskmonthNotLike(String value) {
            addCriterion("taskmonth not like", value, "taskmonth");
            return (Criteria) this;
        }

        public Criteria andTaskmonthIn(List<String> values) {
            addCriterion("taskmonth in", values, "taskmonth");
            return (Criteria) this;
        }

        public Criteria andTaskmonthNotIn(List<String> values) {
            addCriterion("taskmonth not in", values, "taskmonth");
            return (Criteria) this;
        }

        public Criteria andTaskmonthBetween(String value1, String value2) {
            addCriterion("taskmonth between", value1, value2, "taskmonth");
            return (Criteria) this;
        }

        public Criteria andTaskmonthNotBetween(String value1, String value2) {
            addCriterion("taskmonth not between", value1, value2, "taskmonth");
            return (Criteria) this;
        }


        public Criteria andPushstateIsNull() {
            addCriterion("pushstate is null");
            return (Criteria) this;
        }

        public Criteria andPushstateIsNotNull() {
            addCriterion("pushstate is not null");
            return (Criteria) this;
        }

        public Criteria andPushstateEqualTo(String value) {
            addCriterion("pushstate =", value, "pushstate");
            return (Criteria) this;
        }

        public Criteria andPushstateNotEqualTo(String value) {
            addCriterion("pushstate <>", value, "pushstate");
            return (Criteria) this;
        }

        public Criteria andPushstateGreaterThan(String value) {
            addCriterion("pushstate >", value, "pushstate");
            return (Criteria) this;
        }

        public Criteria andPushstateGreaterThanOrEqualTo(String value) {
            addCriterion("pushstate >=", value, "pushstate");
            return (Criteria) this;
        }

        public Criteria andPushstateLessThan(String value) {
            addCriterion("pushstate <", value, "pushstate");
            return (Criteria) this;
        }

        public Criteria andPushstateLessThanOrEqualTo(String value) {
            addCriterion("pushstate <=", value, "pushstate");
            return (Criteria) this;
        }

        public Criteria andPushstateLike(String value) {
            addCriterion("pushstate like", value, "pushstate");
            return (Criteria) this;
        }

        public Criteria andPushstateNotLike(String value) {
            addCriterion("pushstate not like", value, "pushstate");
            return (Criteria) this;
        }

        public Criteria andPushstateIn(List<String> values) {
            addCriterion("pushstate in", values, "pushstate");
            return (Criteria) this;
        }

        public Criteria andPushstateNotIn(List<String> values) {
            addCriterion("pushstate not in", values, "pushstate");
            return (Criteria) this;
        }

        public Criteria andPushstateBetween(String value1, String value2) {
            addCriterion("pushstate between", value1, value2, "pushstate");
            return (Criteria) this;
        }

        public Criteria andPushstateNotBetween(String value1, String value2) {
            addCriterion("pushstate not between", value1, value2, "pushstate");
            return (Criteria) this;
        }


        public Criteria andPushtimeIsNull() {
            addCriterion("pushtime is null");
            return (Criteria) this;
        }

        public Criteria andPushtimeIsNotNull() {
            addCriterion("pushtime is not null");
            return (Criteria) this;
        }

        public Criteria andPushtimeEqualTo(Date value) {
            addCriterion("pushtime =", value, "pushtime");
            return (Criteria) this;
        }

        public Criteria andPushtimeNotEqualTo(Date value) {
            addCriterion("pushtime <>", value, "pushtime");
            return (Criteria) this;
        }

        public Criteria andPushtimeGreaterThan(Date value) {
            addCriterion("pushtime >", value, "pushtime");
            return (Criteria) this;
        }

        public Criteria andPushtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("pushtime >=", value, "pushtime");
            return (Criteria) this;
        }

        public Criteria andPushtimeLessThan(Date value) {
            addCriterion("pushtime <", value, "pushtime");
            return (Criteria) this;
        }

        public Criteria andPushtimeLessThanOrEqualTo(Date value) {
            addCriterion("pushtime <=", value, "pushtime");
            return (Criteria) this;
        }

        public Criteria andPushtimeLike(Date value) {
            addCriterion("pushtime like", value, "pushtime");
            return (Criteria) this;
        }

        public Criteria andPushtimeNotLike(Date value) {
            addCriterion("pushtime not like", value, "pushtime");
            return (Criteria) this;
        }

        public Criteria andPushtimeIn(List<Date> values) {
            addCriterion("pushtime in", values, "pushtime");
            return (Criteria) this;
        }

        public Criteria andPushtimeNotIn(List<Date> values) {
            addCriterion("pushtime not in", values, "pushtime");
            return (Criteria) this;
        }

        public Criteria andPushtimeBetween(Date value1, Date value2) {
            addCriterion("pushtime between", value1, value2, "pushtime");
            return (Criteria) this;
        }

        public Criteria andPushtimeNotBetween(Date value1, Date value2) {
            addCriterion("pushtime not between", value1, value2, "pushtime");
            return (Criteria) this;
        }


        public Criteria andPushcountIsNull() {
            addCriterion("pushcount is null");
            return (Criteria) this;
        }

        public Criteria andPushcountIsNotNull() {
            addCriterion("pushcount is not null");
            return (Criteria) this;
        }

        public Criteria andPushcountEqualTo(String value) {
            addCriterion("pushcount =", value, "pushcount");
            return (Criteria) this;
        }

        public Criteria andPushcountNotEqualTo(String value) {
            addCriterion("pushcount <>", value, "pushcount");
            return (Criteria) this;
        }

        public Criteria andPushcountGreaterThan(String value) {
            addCriterion("pushcount >", value, "pushcount");
            return (Criteria) this;
        }

        public Criteria andPushcountGreaterThanOrEqualTo(String value) {
            addCriterion("pushcount >=", value, "pushcount");
            return (Criteria) this;
        }

        public Criteria andPushcountLessThan(String value) {
            addCriterion("pushcount <", value, "pushcount");
            return (Criteria) this;
        }

        public Criteria andPushcountLessThanOrEqualTo(String value) {
            addCriterion("pushcount <=", value, "pushcount");
            return (Criteria) this;
        }

        public Criteria andPushcountLike(String value) {
            addCriterion("pushcount like", value, "pushcount");
            return (Criteria) this;
        }

        public Criteria andPushcountNotLike(String value) {
            addCriterion("pushcount not like", value, "pushcount");
            return (Criteria) this;
        }

        public Criteria andPushcountIn(List<String> values) {
            addCriterion("pushcount in", values, "pushcount");
            return (Criteria) this;
        }

        public Criteria andPushcountNotIn(List<String> values) {
            addCriterion("pushcount not in", values, "pushcount");
            return (Criteria) this;
        }

        public Criteria andPushcountBetween(String value1, String value2) {
            addCriterion("pushcount between", value1, value2, "pushcount");
            return (Criteria) this;
        }

        public Criteria andPushcountNotBetween(String value1, String value2) {
            addCriterion("pushcount not between", value1, value2, "pushcount");
            return (Criteria) this;
        }


        public Criteria andTransstateIsNull() {
            addCriterion("transstate is null");
            return (Criteria) this;
        }

        public Criteria andTransstateIsNotNull() {
            addCriterion("transstate is not null");
            return (Criteria) this;
        }

        public Criteria andTransstateEqualTo(String value) {
            addCriterion("transstate =", value, "transstate");
            return (Criteria) this;
        }

        public Criteria andTransstateNotEqualTo(String value) {
            addCriterion("transstate <>", value, "transstate");
            return (Criteria) this;
        }

        public Criteria andTransstateGreaterThan(String value) {
            addCriterion("transstate >", value, "transstate");
            return (Criteria) this;
        }

        public Criteria andTransstateGreaterThanOrEqualTo(String value) {
            addCriterion("transstate >=", value, "transstate");
            return (Criteria) this;
        }

        public Criteria andTransstateLessThan(String value) {
            addCriterion("transstate <", value, "transstate");
            return (Criteria) this;
        }

        public Criteria andTransstateLessThanOrEqualTo(String value) {
            addCriterion("transstate <=", value, "transstate");
            return (Criteria) this;
        }

        public Criteria andTransstateLike(String value) {
            addCriterion("transstate like", value, "transstate");
            return (Criteria) this;
        }

        public Criteria andTransstateNotLike(String value) {
            addCriterion("transstate not like", value, "transstate");
            return (Criteria) this;
        }

        public Criteria andTransstateIn(List<String> values) {
            addCriterion("transstate in", values, "transstate");
            return (Criteria) this;
        }

        public Criteria andTransstateNotIn(List<String> values) {
            addCriterion("transstate not in", values, "transstate");
            return (Criteria) this;
        }

        public Criteria andTransstateBetween(String value1, String value2) {
            addCriterion("transstate between", value1, value2, "transstate");
            return (Criteria) this;
        }

        public Criteria andTransstateNotBetween(String value1, String value2) {
            addCriterion("transstate not between", value1, value2, "transstate");
            return (Criteria) this;
        }


        public Criteria andTranstimeIsNull() {
            addCriterion("transtime is null");
            return (Criteria) this;
        }

        public Criteria andTranstimeIsNotNull() {
            addCriterion("transtime is not null");
            return (Criteria) this;
        }

        public Criteria andTranstimeEqualTo(Date value) {
            addCriterion("transtime =", value, "transtime");
            return (Criteria) this;
        }

        public Criteria andTranstimeNotEqualTo(Date value) {
            addCriterion("transtime <>", value, "transtime");
            return (Criteria) this;
        }

        public Criteria andTranstimeGreaterThan(Date value) {
            addCriterion("transtime >", value, "transtime");
            return (Criteria) this;
        }

        public Criteria andTranstimeGreaterThanOrEqualTo(Date value) {
            addCriterion("transtime >=", value, "transtime");
            return (Criteria) this;
        }

        public Criteria andTranstimeLessThan(Date value) {
            addCriterion("transtime <", value, "transtime");
            return (Criteria) this;
        }

        public Criteria andTranstimeLessThanOrEqualTo(Date value) {
            addCriterion("transtime <=", value, "transtime");
            return (Criteria) this;
        }

        public Criteria andTranstimeLike(Date value) {
            addCriterion("transtime like", value, "transtime");
            return (Criteria) this;
        }

        public Criteria andTranstimeNotLike(Date value) {
            addCriterion("transtime not like", value, "transtime");
            return (Criteria) this;
        }

        public Criteria andTranstimeIn(List<Date> values) {
            addCriterion("transtime in", values, "transtime");
            return (Criteria) this;
        }

        public Criteria andTranstimeNotIn(List<Date> values) {
            addCriterion("transtime not in", values, "transtime");
            return (Criteria) this;
        }

        public Criteria andTranstimeBetween(Date value1, Date value2) {
            addCriterion("transtime between", value1, value2, "transtime");
            return (Criteria) this;
        }

        public Criteria andTranstimeNotBetween(Date value1, Date value2) {
            addCriterion("transtime not between", value1, value2, "transtime");
            return (Criteria) this;
        }


        public Criteria andTranscountIsNull() {
            addCriterion("transcount is null");
            return (Criteria) this;
        }

        public Criteria andTranscountIsNotNull() {
            addCriterion("transcount is not null");
            return (Criteria) this;
        }

        public Criteria andTranscountEqualTo(String value) {
            addCriterion("transcount =", value, "transcount");
            return (Criteria) this;
        }

        public Criteria andTranscountNotEqualTo(String value) {
            addCriterion("transcount <>", value, "transcount");
            return (Criteria) this;
        }

        public Criteria andTranscountGreaterThan(String value) {
            addCriterion("transcount >", value, "transcount");
            return (Criteria) this;
        }

        public Criteria andTranscountGreaterThanOrEqualTo(String value) {
            addCriterion("transcount >=", value, "transcount");
            return (Criteria) this;
        }

        public Criteria andTranscountLessThan(String value) {
            addCriterion("transcount <", value, "transcount");
            return (Criteria) this;
        }

        public Criteria andTranscountLessThanOrEqualTo(String value) {
            addCriterion("transcount <=", value, "transcount");
            return (Criteria) this;
        }

        public Criteria andTranscountLike(String value) {
            addCriterion("transcount like", value, "transcount");
            return (Criteria) this;
        }

        public Criteria andTranscountNotLike(String value) {
            addCriterion("transcount not like", value, "transcount");
            return (Criteria) this;
        }

        public Criteria andTranscountIn(List<String> values) {
            addCriterion("transcount in", values, "transcount");
            return (Criteria) this;
        }

        public Criteria andTranscountNotIn(List<String> values) {
            addCriterion("transcount not in", values, "transcount");
            return (Criteria) this;
        }

        public Criteria andTranscountBetween(String value1, String value2) {
            addCriterion("transcount between", value1, value2, "transcount");
            return (Criteria) this;
        }

        public Criteria andTranscountNotBetween(String value1, String value2) {
            addCriterion("transcount not between", value1, value2, "transcount");
            return (Criteria) this;
        }


        public Criteria andFillstateIsNull() {
            addCriterion("fillstate is null");
            return (Criteria) this;
        }

        public Criteria andFillstateIsNotNull() {
            addCriterion("fillstate is not null");
            return (Criteria) this;
        }

        public Criteria andFillstateEqualTo(String value) {
            addCriterion("fillstate =", value, "fillstate");
            return (Criteria) this;
        }

        public Criteria andFillstateNotEqualTo(String value) {
            addCriterion("fillstate <>", value, "fillstate");
            return (Criteria) this;
        }

        public Criteria andFillstateGreaterThan(String value) {
            addCriterion("fillstate >", value, "fillstate");
            return (Criteria) this;
        }

        public Criteria andFillstateGreaterThanOrEqualTo(String value) {
            addCriterion("fillstate >=", value, "fillstate");
            return (Criteria) this;
        }

        public Criteria andFillstateLessThan(String value) {
            addCriterion("fillstate <", value, "fillstate");
            return (Criteria) this;
        }

        public Criteria andFillstateLessThanOrEqualTo(String value) {
            addCriterion("fillstate <=", value, "fillstate");
            return (Criteria) this;
        }

        public Criteria andFillstateLike(String value) {
            addCriterion("fillstate like", value, "fillstate");
            return (Criteria) this;
        }

        public Criteria andFillstateNotLike(String value) {
            addCriterion("fillstate not like", value, "fillstate");
            return (Criteria) this;
        }

        public Criteria andFillstateIn(List<String> values) {
            addCriterion("fillstate in", values, "fillstate");
            return (Criteria) this;
        }

        public Criteria andFillstateNotIn(List<String> values) {
            addCriterion("fillstate not in", values, "fillstate");
            return (Criteria) this;
        }

        public Criteria andFillstateBetween(String value1, String value2) {
            addCriterion("fillstate between", value1, value2, "fillstate");
            return (Criteria) this;
        }

        public Criteria andFillstateNotBetween(String value1, String value2) {
            addCriterion("fillstate not between", value1, value2, "fillstate");
            return (Criteria) this;
        }


        public Criteria andFillcountIsNull() {
            addCriterion("fillcount is null");
            return (Criteria) this;
        }

        public Criteria andFillcountIsNotNull() {
            addCriterion("fillcount is not null");
            return (Criteria) this;
        }

        public Criteria andFillcountEqualTo(String value) {
            addCriterion("fillcount =", value, "fillcount");
            return (Criteria) this;
        }

        public Criteria andFillcountNotEqualTo(String value) {
            addCriterion("fillcount <>", value, "fillcount");
            return (Criteria) this;
        }

        public Criteria andFillcountGreaterThan(String value) {
            addCriterion("fillcount >", value, "fillcount");
            return (Criteria) this;
        }

        public Criteria andFillcountGreaterThanOrEqualTo(String value) {
            addCriterion("fillcount >=", value, "fillcount");
            return (Criteria) this;
        }

        public Criteria andFillcountLessThan(String value) {
            addCriterion("fillcount <", value, "fillcount");
            return (Criteria) this;
        }

        public Criteria andFillcountLessThanOrEqualTo(String value) {
            addCriterion("fillcount <=", value, "fillcount");
            return (Criteria) this;
        }

        public Criteria andFillcountLike(String value) {
            addCriterion("fillcount like", value, "fillcount");
            return (Criteria) this;
        }

        public Criteria andFillcountNotLike(String value) {
            addCriterion("fillcount not like", value, "fillcount");
            return (Criteria) this;
        }

        public Criteria andFillcountIn(List<String> values) {
            addCriterion("fillcount in", values, "fillcount");
            return (Criteria) this;
        }

        public Criteria andFillcountNotIn(List<String> values) {
            addCriterion("fillcount not in", values, "fillcount");
            return (Criteria) this;
        }

        public Criteria andFillcountBetween(String value1, String value2) {
            addCriterion("fillcount between", value1, value2, "fillcount");
            return (Criteria) this;
        }

        public Criteria andFillcountNotBetween(String value1, String value2) {
            addCriterion("fillcount not between", value1, value2, "fillcount");
            return (Criteria) this;
        }


        public Criteria andFilltimeIsNull() {
            addCriterion("filltime is null");
            return (Criteria) this;
        }

        public Criteria andFilltimeIsNotNull() {
            addCriterion("filltime is not null");
            return (Criteria) this;
        }

        public Criteria andFilltimeEqualTo(Date value) {
            addCriterion("filltime =", value, "filltime");
            return (Criteria) this;
        }

        public Criteria andFilltimeNotEqualTo(Date value) {
            addCriterion("filltime <>", value, "filltime");
            return (Criteria) this;
        }

        public Criteria andFilltimeGreaterThan(Date value) {
            addCriterion("filltime >", value, "filltime");
            return (Criteria) this;
        }

        public Criteria andFilltimeGreaterThanOrEqualTo(Date value) {
            addCriterion("filltime >=", value, "filltime");
            return (Criteria) this;
        }

        public Criteria andFilltimeLessThan(Date value) {
            addCriterion("filltime <", value, "filltime");
            return (Criteria) this;
        }

        public Criteria andFilltimeLessThanOrEqualTo(Date value) {
            addCriterion("filltime <=", value, "filltime");
            return (Criteria) this;
        }

        public Criteria andFilltimeLike(Date value) {
            addCriterion("filltime like", value, "filltime");
            return (Criteria) this;
        }

        public Criteria andFilltimeNotLike(Date value) {
            addCriterion("filltime not like", value, "filltime");
            return (Criteria) this;
        }

        public Criteria andFilltimeIn(List<Date> values) {
            addCriterion("filltime in", values, "filltime");
            return (Criteria) this;
        }

        public Criteria andFilltimeNotIn(List<Date> values) {
            addCriterion("filltime not in", values, "filltime");
            return (Criteria) this;
        }

        public Criteria andFilltimeBetween(Date value1, Date value2) {
            addCriterion("filltime between", value1, value2, "filltime");
            return (Criteria) this;
        }

        public Criteria andFilltimeNotBetween(Date value1, Date value2) {
            addCriterion("filltime not between", value1, value2, "filltime");
            return (Criteria) this;
        }


        public Criteria andCreatetimeIsNull() {
            addCriterion("createtime is null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNotNull() {
            addCriterion("createtime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeEqualTo(Date value) {
            addCriterion("createtime =", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotEqualTo(Date value) {
            addCriterion("createtime <>", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThan(Date value) {
            addCriterion("createtime >", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("createtime >=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThan(Date value) {
            addCriterion("createtime <", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThanOrEqualTo(Date value) {
            addCriterion("createtime <=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLike(Date value) {
            addCriterion("createtime like", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotLike(Date value) {
            addCriterion("createtime not like", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIn(List<Date> values) {
            addCriterion("createtime in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotIn(List<Date> values) {
            addCriterion("createtime not in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeBetween(Date value1, Date value2) {
            addCriterion("createtime between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotBetween(Date value1, Date value2) {
            addCriterion("createtime not between", value1, value2, "createtime");
            return (Criteria) this;
        }


        public Criteria andUpdatetimeIsNull() {
            addCriterion("updatetime is null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNotNull() {
            addCriterion("updatetime is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeEqualTo(Date value) {
            addCriterion("updatetime =", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotEqualTo(Date value) {
            addCriterion("updatetime <>", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThan(Date value) {
            addCriterion("updatetime >", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("updatetime >=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThan(Date value) {
            addCriterion("updatetime <", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThanOrEqualTo(Date value) {
            addCriterion("updatetime <=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLike(Date value) {
            addCriterion("updatetime like", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotLike(Date value) {
            addCriterion("updatetime not like", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIn(List<Date> values) {
            addCriterion("updatetime in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotIn(List<Date> values) {
            addCriterion("updatetime not in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeBetween(Date value1, Date value2) {
            addCriterion("updatetime between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotBetween(Date value1, Date value2) {
            addCriterion("updatetime not between", value1, value2, "updatetime");
            return (Criteria) this;
        }


        public Criteria andLikeQuery(RpaTaskDtl record) {
            List<String> list = new ArrayList<String>();
            List<String> list2 = new ArrayList<String>();
            StringBuffer buffer = new StringBuffer();
            if (record.getId() != null && StrUtil.isNotEmpty(record.getId().toString())) {
                list.add("ifnull(id,'')");
            }
            if (record.getRpataskid() != null && StrUtil.isNotEmpty(record.getRpataskid().toString())) {
                list.add("ifnull(rpataskid,'')");
            }
            if (record.getRpataskname() != null && StrUtil.isNotEmpty(record.getRpataskname().toString())) {
                list.add("ifnull(rpataskname,'')");
            }
            if (record.getTargetid() != null && StrUtil.isNotEmpty(record.getTargetid().toString())) {
                list.add("ifnull(targetid,'')");
            }
            if (record.getTypenum() != null && StrUtil.isNotEmpty(record.getTypenum().toString())) {
                list.add("ifnull(typenum,'')");
            }
            if (record.getPeriodtype() != null && StrUtil.isNotEmpty(record.getPeriodtype().toString())) {
                list.add("ifnull(periodtype,'')");
            }
            if (record.getTaskmonth() != null && StrUtil.isNotEmpty(record.getTaskmonth().toString())) {
                list.add("ifnull(taskmonth,'')");
            }
            if (record.getPushstate() != null && StrUtil.isNotEmpty(record.getPushstate().toString())) {
                list.add("ifnull(pushstate,'')");
            }
            if (record.getPushtime() != null && StrUtil.isNotEmpty(record.getPushtime().toString())) {
                list.add("ifnull(pushtime,'')");
            }
            if (record.getPushcount() != null && StrUtil.isNotEmpty(record.getPushcount().toString())) {
                list.add("ifnull(pushcount,'')");
            }
            if (record.getTransstate() != null && StrUtil.isNotEmpty(record.getTransstate().toString())) {
                list.add("ifnull(transstate,'')");
            }
            if (record.getTranstime() != null && StrUtil.isNotEmpty(record.getTranstime().toString())) {
                list.add("ifnull(transtime,'')");
            }
            if (record.getTranscount() != null && StrUtil.isNotEmpty(record.getTranscount().toString())) {
                list.add("ifnull(transcount,'')");
            }
            if (record.getFillstate() != null && StrUtil.isNotEmpty(record.getFillstate().toString())) {
                list.add("ifnull(fillstate,'')");
            }
            if (record.getFillcount() != null && StrUtil.isNotEmpty(record.getFillcount().toString())) {
                list.add("ifnull(fillcount,'')");
            }
            if (record.getFilltime() != null && StrUtil.isNotEmpty(record.getFilltime().toString())) {
                list.add("ifnull(filltime,'')");
            }
            if (record.getCreatetime() != null && StrUtil.isNotEmpty(record.getCreatetime().toString())) {
                list.add("ifnull(createtime,'')");
            }
            if (record.getUpdatetime() != null && StrUtil.isNotEmpty(record.getUpdatetime().toString())) {
                list.add("ifnull(updatetime,'')");
            }
            if (record.getId() != null && StrUtil.isNotEmpty(record.getId().toString())) {
                list2.add("'%" + record.getId() + "%'");
            }
            if (record.getRpataskid() != null && StrUtil.isNotEmpty(record.getRpataskid().toString())) {
                list2.add("'%" + record.getRpataskid() + "%'");
            }
            if (record.getRpataskname() != null && StrUtil.isNotEmpty(record.getRpataskname().toString())) {
                list2.add("'%" + record.getRpataskname() + "%'");
            }
            if (record.getTargetid() != null && StrUtil.isNotEmpty(record.getTargetid().toString())) {
                list2.add("'%" + record.getTargetid() + "%'");
            }
            if (record.getTypenum() != null && StrUtil.isNotEmpty(record.getTypenum().toString())) {
                list2.add("'%" + record.getTypenum() + "%'");
            }
            if (record.getPeriodtype() != null && StrUtil.isNotEmpty(record.getPeriodtype().toString())) {
                list2.add("'%" + record.getPeriodtype() + "%'");
            }
            if (record.getTaskmonth() != null && StrUtil.isNotEmpty(record.getTaskmonth().toString())) {
                list2.add("'%" + record.getTaskmonth() + "%'");
            }
            if (record.getPushstate() != null && StrUtil.isNotEmpty(record.getPushstate().toString())) {
                list2.add("'%" + record.getPushstate() + "%'");
            }
            if (record.getPushtime() != null && StrUtil.isNotEmpty(record.getPushtime().toString())) {
                list2.add("'%" + record.getPushtime() + "%'");
            }
            if (record.getPushcount() != null && StrUtil.isNotEmpty(record.getPushcount().toString())) {
                list2.add("'%" + record.getPushcount() + "%'");
            }
            if (record.getTransstate() != null && StrUtil.isNotEmpty(record.getTransstate().toString())) {
                list2.add("'%" + record.getTransstate() + "%'");
            }
            if (record.getTranstime() != null && StrUtil.isNotEmpty(record.getTranstime().toString())) {
                list2.add("'%" + record.getTranstime() + "%'");
            }
            if (record.getTranscount() != null && StrUtil.isNotEmpty(record.getTranscount().toString())) {
                list2.add("'%" + record.getTranscount() + "%'");
            }
            if (record.getFillstate() != null && StrUtil.isNotEmpty(record.getFillstate().toString())) {
                list2.add("'%" + record.getFillstate() + "%'");
            }
            if (record.getFillcount() != null && StrUtil.isNotEmpty(record.getFillcount().toString())) {
                list2.add("'%" + record.getFillcount() + "%'");
            }
            if (record.getFilltime() != null && StrUtil.isNotEmpty(record.getFilltime().toString())) {
                list2.add("'%" + record.getFilltime() + "%'");
            }
            if (record.getCreatetime() != null && StrUtil.isNotEmpty(record.getCreatetime().toString())) {
                list2.add("'%" + record.getCreatetime() + "%'");
            }
            if (record.getUpdatetime() != null && StrUtil.isNotEmpty(record.getUpdatetime().toString())) {
                list2.add("'%" + record.getUpdatetime() + "%'");
            }
            buffer.append(" CONCAT(");
            buffer.append(StrUtil.join(",", list));
            buffer.append(")");
            buffer.append(" like CONCAT(");
            buffer.append(StrUtil.join(",", list2));
            buffer.append(")");
            if (!" CONCAT() like CONCAT()".equals(buffer.toString())) {
                addCriterion(buffer.toString());
            }
            return (Criteria) this;
        }

        public Criteria andLikeQuery2(String searchText) {
            List<String> list = new ArrayList<String>();
            StringBuffer buffer = new StringBuffer();
            list.add("ifnull(id,'')");
            list.add("ifnull(rpataskid,'')");
            list.add("ifnull(rpataskname,'')");
            list.add("ifnull(targetid,'')");
            list.add("ifnull(typenum,'')");
            list.add("ifnull(periodtype,'')");
            list.add("ifnull(taskmonth,'')");
            list.add("ifnull(pushstate,'')");
            list.add("ifnull(pushtime,'')");
            list.add("ifnull(pushcount,'')");
            list.add("ifnull(transstate,'')");
            list.add("ifnull(transtime,'')");
            list.add("ifnull(transcount,'')");
            list.add("ifnull(fillstate,'')");
            list.add("ifnull(fillcount,'')");
            list.add("ifnull(filltime,'')");
            list.add("ifnull(createtime,'')");
            list.add("ifnull(updatetime,'')");
            buffer.append(" CONCAT(");
            buffer.append(StrUtil.join(",", list));
            buffer.append(")");
            buffer.append("like '%");
            buffer.append(searchText);
            buffer.append("%'");
            addCriterion(buffer.toString());
            return (Criteria) this;
        }

    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}